# -*- coding: utf-8 -*-
# __author__ = 'BIN'

# MySQL
import pymysql
import log_intf


# 连接数据库
def conn_db():
    # 需加入charset="utf8"，否则出现中文乱码
    try:
        conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='MySQL2015', db='stockinfo', charset="utf8")
        cur = conn.cursor()
        return conn, cur
    except pymysql.Error:
        log_intf.error_log('【数据库连接异常】'+str(pymysql.Error))
        print('【数据库连接异常】'+str(pymysql.Error))


# 更新语句 INSERT,UPDATE
def exe_sql(cur, sql):
    try:
        sta = cur.execute(sql)
        return sta
    except pymysql.Error:
        log_intf.error_log('【数据库update/insert异常】'+str(pymysql.Error))
        print('【数据库update/insert异常】'+str(pymysql.Error))


# 查询语句 SELECT
def qry_sql(cur, sql):
    try:
        cur.execute(sql)
        return cur
    except pymysql.Error:
        log_intf.error_log('【数据库select异常】'+str(pymysql.Error))
        print('【数据库select异常】'+str(pymysql.Error))


# 关闭所有连接
def close_db(conn, cur):
    try:
        cur.close()
        conn.close()
    except pymysql.Error:
        log_intf.error_log('【数据库关闭异常】'+str(pymysql.Error))


# update,insert语句直接执行
def update_sql(sql):
    try:
        conn, cur = conn_db()
        if exe_sql(cur, sql) == 1:
            conn.commit()
            return True
        else:
            conn.rollback()
            return False
    except pymysql.Error:
        print(pymysql.Error)
        log_intf.error_log('【update_sql接口执行异常】' + str(pymysql.Error))
        return False
    finally:
        close_db(conn, cur)